Uitwisselprofiel RIVM Infectieziektenbestrijding

Over Uitwisselprofiel RIVM Infectieziektenbestrijding


Publicatiedatum:
15-06-2026

Inwerkingtreding:
15-06-2026

10.2. Hoeveel cliënten per leeftijdsgroep wonen er op de vestiging?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: RIVM 10.2
2# Parameters: 
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
9
10SELECT 
11    (?vestiging AS ?Indeling)
12    (SUM(?6064) AS ?Leeftijd_60_64)
13    (SUM(?6569) AS ?Leeftijd_65_69)
14    (SUM(?7074) AS ?Leeftijd_70_74)
15    (SUM(?7579) AS ?Leeftijd_75_79)
16    (SUM(?8084) AS ?Leeftijd_80_84)
17    (SUM(?8589) AS ?Leeftijd_85_89)
18    (SUM(?9094) AS ?Leeftijd_90_94)
19    (SUM(?9599) AS ?Leeftijd_95_99)
20    (SUM(?100p) AS ?Leeftijd_100_plus)
21WHERE {
22    {
23        SELECT DISTINCT ?vestiging ?bewoner ?leeftijd
24        WHERE {
25            # Stap 1: Selecteer alle wooneenheden
26            ?wooneenheid a onz-org:WoonEenheid .
27
28            # Stap 4: Bepaal bewoners via bezettingskwaliteit
29            ?wooneenheid onz-g:hasQuality ?quality .
30            ?quality 
31                a onz-g:OccupancyQuality ;
32                onz-g:hasQualityValue ?quality_value .
33            ?quality_value 
34                a onz-g:OccupancyValue ;
35                onz-g:hasOccupancyObject ?bewoner .
36
37            ?bewoner 
38                a onz-g:Human ;
39                onz-g:hasDateOfBirth ?geboortedatum .
40
41            # Leeftijd berekenen op vandaag
42            BIND(YEAR(NOW()) - YEAR(?geboortedatum) AS ?leeftijd_voorl)
43            BIND(IF(MONTH(?geboortedatum) > MONTH(NOW()) 
44                || (MONTH(?geboortedatum) = MONTH(NOW()) && DAY(?geboortedatum) > DAY(NOW())), 
45                ?leeftijd_voorl - 1, ?leeftijd_voorl) AS ?leeftijd)
46
47            {
48                # Per vestiging
49                ?wooneenheid onz-g:partOf ?locatie .
50                ?locatie 
51                    a onz-g:StationaryArtifact ;
52                    onz-g:partOf* ?vestiging_uri .
53                ?vestiging_uri a onz-org:Vestiging ;
54                    onz-g:identifiedBy ?vest_nr .
55                ?vest_nr a onz-org:Vestigingsnummer ;
56                    onz-g:hasDataValue ?vestiging .
57            }
58            UNION
59            {
60                # Totaal organisatie
61                BIND("Totaal organisatie" AS ?vestiging)
62            }
63        }
64    }
65
66    # Leeftijdscategorieën (zoals ActiZ 2.9)
67    BIND(IF(?leeftijd >= 60 && ?leeftijd <= 64, 1, 0) AS ?6064)
68    BIND(IF(?leeftijd >= 65 && ?leeftijd <= 69, 1, 0) AS ?6569)
69    BIND(IF(?leeftijd >= 70 && ?leeftijd <= 74, 1, 0) AS ?7074)
70    BIND(IF(?leeftijd >= 75 && ?leeftijd <= 79, 1, 0) AS ?7579)
71    BIND(IF(?leeftijd >= 80 && ?leeftijd <= 84, 1, 0) AS ?8084)
72    BIND(IF(?leeftijd >= 85 && ?leeftijd <= 89, 1, 0) AS ?8589)
73    BIND(IF(?leeftijd >= 90 && ?leeftijd <= 94, 1, 0) AS ?9094)
74    BIND(IF(?leeftijd >= 95 && ?leeftijd <= 99, 1, 0) AS ?9599)
75    BIND(IF(?leeftijd >= 100, 1, 0) AS ?100p)
76}
77GROUP BY ?vestiging
78ORDER BY ?vestiging